﻿<Serializable()> _
Public Class Peca

    Private _id As Nullable(Of Long)
    Public Overridable Property Id() As Nullable(Of Long)
        Get
            Return _id
        End Get
        Set(ByVal value As Nullable(Of Long))
            _id = value
        End Set
    End Property

    Private _descricao As String
    Public Overridable Property Descricao() As String
        Get
            Return _descricao
        End Get
        Set(ByVal value As String)
            _descricao = value
        End Set
    End Property

    Private _proprietario As Usuario
    Public Overridable Property Proprietario() As Usuario
        Get
            Return _proprietario
        End Get
        Set(ByVal value As Usuario)
            _proprietario = value
        End Set
    End Property


    Private _palavrasChave As IList(Of PalavraChave)
    Public Overridable Property PalavrasChave() As IList(Of PalavraChave)
        Get
            Return _palavrasChave
        End Get
        Set(ByVal value As IList(Of PalavraChave))
            _palavrasChave = value
        End Set
    End Property

    Private _categorias As IList(Of CategoriaPeca)
    Public Overridable Property Categorias() As IList(Of CategoriaPeca)
        Get
            Return _categorias
        End Get
        Set(ByVal value As IList(Of CategoriaPeca))
            _categorias = value
        End Set
    End Property


    Private _materiais As IList(Of TipoMaterial)
    ''' <summary>
    ''' Materiais envolvidos na estrutura da peça
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Public Property Materiais() As IList(Of TipoMaterial)
        Get
            Return _materiais
        End Get
        Set(ByVal value As IList(Of TipoMaterial))
            _materiais = value
        End Set
    End Property


End Class
